hysop.operator.convergence module

@file convergence.py Convergence operator.

class hysop.operator.convergence.Convergence(variables, error=None, convergence=None, u_old=None, implementation=None, **kwds)[source]

Bases: ComputationalGraphNodeFrontend

Computes the convergence citeria for a given field.

Available implementations are:

*PYTHON

Initialize a convergence operator.

Computes ||u-u_old||_infty or ||u-u_old||_infty/||u||_infty depending on method absolute or relative.

variables: dict

dictionary of fields as keys and topologies as values.

u_old: Field (optional)

Field to store u_old. This field is created if not given.

convergence: TensorParameter (optional)

Parameter to store the components of ||u-u_old||_infty or ||u-u_old||_infty/||u||_infty

implementation: Implementation, optional, defaults to None

target implementation, should be contained in available_implementations(). If None, implementation will be set to default_implementation().

kwds:

Extra keywords arguments that will be passed towards implementation enstrophy operator __init__.

classmethod default_implementation()[source]

Return the default Implementation, should be compatible with available_implementations.

classmethod implementations()[source]

Should return all implementations as a dictionnary. Keys are Implementation instances and values are either ComputationalGraphNode or ComputationalGraphNodeGenerator.